#ifndef TSB_CONTROLLER_DATA_STORAGE
#define TSB_CONTROLLER_DATA_STORAGE
/*
* 
* @license	Apache License 2.0
* @author	Eugene Kuznetsov
*
*/
#include "Base.hpp"
#include "sqlite3.h"
#include <string>

class CDataBuffer;

class CDataStorage
{
public:
	CDataStorage(std::string storageFile);
	virtual ~CDataStorage();
	virtual void CheckStorageConsistency(Base::eState& state) = 0;
	Base::eState getState() const;

protected:
	Base::eState ExecuteSQL(CDataBuffer* sql);
	sqlite3* getDB() const;

private:
	Base::eState m_eState;
	sqlite3* m_pDB;
};

#endif
